[
  // 第一层按照 maxConsecutiveIncorrect 分组并且 maxConsecutiveIncorrect 升序排序
  {
    maxConsecutiveIncorrect: 5,
    items: [
      // 第二层按 diff = item.stats.currentConsecutiveIncorrect - item.stats.maxConsecutiveIncorrect
      // 按diff分组并且 diff 升序排序
      {
        diff: 0,
        subItems: [
          {
            // 第三层按照 currentConsecutiveIncorrect 分组并且 currentConsecutiveIncorrect 降序排序
            currentConsecutiveIncorrect: 5,
            deepSubItems: [
			  // 最里面层按照 stats.accuracyRate 升序排序不用分组了
              {
                groupName: 'xxx',
                groupType: 'xxx',
                accuracy_array: [1, ...],
                stats: {
                  correctCount: 3,
                  incorrectCount: 7,
                  accuracyRate: 0.3,
                  maxConsecutiveCorrect: 1,
                  maxConsecutiveIncorrect: 5,
                  consecutiveCorrectSegments: 3,
                  consecutiveIncorrectSegments: 3,
                  avgConsecutiveCorrect: 1,
                  avgConsecutiveIncorrect: 2.3333333333333335,
                  currentConsecutiveCorrect: 0,
                  currentConsecutiveIncorrect: 5
                }
              }
            ]
          }
        ]
      }
    ]
  }
]
